iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
0
AI & Data

跟top kaggler學習如何贏得資料分析競賽 系列 第 26

[Day 26] ensembling - bagging / 集成機器學習方法

  • 分享至 

  • xImage
  •  

Exmined ensem methods

  • Averaging(or blending)
  • Weighted averaging
  • Conditional averaging
  • Bagging
  • Boosting
  • Stacking
  • Stacknet

Averaging(or blending) methods

兩個模型, 各自有一半的模型效果, 下圖是一個 age dataset case, 一個高於 50 效果好, 另一個則相反, 這時試著結合兩個模型, 看 score 比之前各自單獨跑的效果好

(模型1 +模型2)/ 2
https://ithelp.ithome.com.tw/upload/images/20190927/20108719FkSWCgJ7VN.png
截圖自 Coursera


Weighted averaging

可以改成加權, 看score 會不會更好 !
example : (模型1x0.7 +模型2x0.3)


Conditional averaging

截長補短, 各只取好的部分, 看score 會不會更好 !


Bagging 裝袋法

Bagging 定義

  • 同一模型的稍有不同的版本進行平均,以提高預測能力。
  • 作法是將資料放入袋中抽取,每回合結束後全部放回袋中重抽, 再搭配弱分類器取平均/多數決結果,最有名的就是隨機森林.(摘自 AI 100 陳明佑簡報)

Why Bagging

在建模過程會有兩個誤差來源

  • Errors due to Bias. 偏差引起的誤差, 導致 underfitting
  • Errors due Variance. 方差引起的誤差, 導致 overfitting
    可視化預測誤差與模型複雜性之間的關係,意思是透過 bagging 每回合小改版來控制偏差跟方差的誤差讓誤差減少.

https://ithelp.ithome.com.tw/upload/images/20190927/20108719HVRaNMxLak.png
截圖自 Coursera


Parameter that control bagging

  • Changing the seed
  • Row (Sub) sampling or Bootstrapng
  • Shuffling
  • Column (Sub) sampling
  • Model-specific parameters
  • Number of models (or bags)

example of bagging

BagginfClassifier and Bagging Regressor from Sklearn

# train is the training data
# test is the test data
# y is the target variable

model=RandomForestRegressor()
bags=10
seed=1

# create array object to hold bagged predictions

bagged_prediction=np.zeros(test.shape[0])

# loop for as many times as we want bags

for n in range (0, bags):
    model.set_params(random_state=seed + n) # update seed
    model.fit(train,y) # for model
    preds=model.predict(test) # predict on test data
    bagged_prediction+=preds # add predictions to bagged predictions
    
# take average of predcitions

bagged_prediction/= bags


瑪博的 PHD 論文就是 ensemble methods, 他同時也是 kaggle 前世界第一.


上一篇
[Day 25] tSNE - dimension reduction / 非線性降維方法與視覺化
下一篇
[Day 27] ensembling - boosting / 提升法
系列文
跟top kaggler學習如何贏得資料分析競賽 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言